console.log(`
【fs 模块概述】
    Node.js 的文件系统模块 (fs) 允许我们与文件系统进行交互，
    提供了大量用于文件和目录操作的方法。这些方法通常有同步和异步两种版本。
`);

console.log(`
【文件删除 Api】
    1. fs.unlink()             异步删除
    2. fs.unlinkSync()         同步删除
    3. fs.rm()                 异步删除（14新增）
    4. fs.rmSync()             同步删除（14新增）
`);

console.log(
  `使用文件写入Api前，需要先导入fs模块：
   导入模块、require 是 Node.js 环境中的'全局'变量，用来导入模块
   const fs = require("fs");
  `
);
const fs = require("fs");


console.log(`
【异步删除】fs.unlink()
    语法：
        fs.unlink(path, callback)
    参数：
        path：文件路径
        callback：回调函数
    返回值：
        无
    异常：
        如果 path 不存在，会抛出异常
    注意：
        1. 异步方法有回调函数，所以需要处理错误。
        2. 异步方法不会阻塞代码执行，所以建议在主线程中使用。
        3. 异步方法可以使用 try-catch 捕获异常。
        4. 异步方法可以使用 return 语句返回值。
        5. 异步方法可以使用 throw 语句抛出异常。
        6. 异步方法可以使用 try-catch 捕获异常。
    `);
fs.unlink("./14.jpg", (err) => {
    if (err) {
        console.log("删除失败！");
        return;
    }
    console.log("删除成功！！！");
});




console.log(`
【同步删除】fs.unlinkSync()
    语法：
        fs.unlinkSync(path)
    参数：
        path：文件路径
    返回值：
        无
    异常：
        如果 path 不存在，会抛出异常
    注意：
        1. 同步方法没有回调函数，所以不会有错误处理。
        2. 同步方法会阻塞代码执行，所以不建议在主线程中使用。
        3. 同步方法可以使用 try-catch 捕获异常。
        4. 同步方法可以使用 return 语句返回值。
        5. 同步方法可以使用 throw 语句抛出异常。
        6. 同步方法可以使用 try-catch 捕获异常。
`);
try {
    fs.unlinkSync("./14.jpg");
} catch (err) {
    console.log(err);
}




console.log(`
【异步删除】fs.rm()
    语法：
        fs.rm(path, callback)
    参数：
        path：文件路径
        callback：回调函数
    返回值：
        无
    异常：
        如果 path 不存在，会抛出异常
    注意：
        1. 异步方法有回调函数，所以需要处理错误。
        2. 异步方法不会阻塞代码执行，所以建议在主线程中使用。
        3. 异步方法可以使用 try-catch 捕获异常。
        4. 异步方法可以使用 return 语句返回值。
        5. 异步方法可以使用 throw 语句抛出异常。
        6. 异步方法可以使用 try-catch 捕获异常。
`);
fs.rm("./14.jpg", (err) => {
    if (err) {
        console.log("删除失败！");
        return;
    }
    console.log("删除成功！！！");
});





console.log(`
【同步删除】fs.rmSync()
    语法：
        fs.rmSync(path)
    参数：
        path：文件路径
    返回值：
        无
    异常：
        如果 path 不存在，会抛出异常
    注意：
        1. 同步方法没有回调函数，所以不会有错误处理。
        2. 同步方法会阻塞代码执行，所以不建议在主线程中使用。
        3. 同步方法可以使用 try-catch 捕获异常。
        4. 同步方法可以使用 return 语句返回值。
        5. 同步方法可以使用 throw 语句抛出异常。
        6. 同步方法可以使用 try-catch 捕获异常。
    `);
try {
    fs.rmSync("./14.jpg");
} catch (err) {
    console.log(err);
}


    